package classes;

import driver.Log;



public class Hora implements Comparable<Hora>{
		
	private Integer numHora;	
	private Activitat activitat;
	
	
	public Hora (Integer numHora,Activitat activitat) {
		super();
		this.numHora = numHora;
		this.activitat = activitat;
	}


	public Hora(Integer numHora) {
		super();
		this.numHora = numHora;
	}


	public Integer getNumHora() {
		return numHora;
	}
	public boolean conteActivitat(Activitat auxActivitat){
		return auxActivitat.equals(activitat);
	}


	public Activitat getActivitat() {
		return activitat;
	}
	public void setActivitat(Activitat activitat) {
		this.activitat = activitat;
	}
	
	
	
	@Override
	public boolean equals(Object auxHora) {
		
		return (((Hora)auxHora).getNumHora().equals(this.getNumHora()));
	}


	@Override
	public int compareTo(Hora o) {
		int numAComparar= o.getNumHora();
		
		
		if(numHora<numAComparar){
			return -1;
		}else if(numHora>numAComparar){
			return 1;
		}else{	
			return 0;
		}
	}

	@Override
	public String toString() {
		String auxString="";
		
		
			
		auxString+="Hora : " + 
					this.getNumHora() + 
					" Activitat: " +
					((this.getActivitat()!=null)?this.getActivitat().getNom():" sense activitat") +
					"\n";
		
		
		
		
		return auxString;
	}


	public void merge(Hora auxAfegir) {
		if (this.activitat==null){
			this.setActivitat(auxAfegir.getActivitat());
		}else{
			if (!auxAfegir.getActivitat().equals(this.getActivitat())){
				System.out.println("activitat no afegida:"+auxAfegir.getActivitat().getNom());
				System.out.println("activitat previa:"+this.getActivitat().getNom());
				Log.llenarLog("activitat no afegida:"+auxAfegir.getActivitat().getNom());
			}else{
				//this.setActivitat(auxAfegir.getActivitat());
			}
			
		}
		
	}
}

